#!/usr/bin/env python2
## -*- coding: utf-8 -*-

import sys

def sx(bits, value):
    sign_bit = 1 << (bits - 1)
    return (value & (sign_bit - 1)) - (value & sign_bit)

SymVar_0 = int(sys.argv[1])

ref_263 = SymVar_0
ref_278 = ref_263 # MOV operation
ref_408806 = ref_278 # MOV operation
ref_459304 = ref_408806 # MOV operation
ref_459310 = (0x1D2C27F0 | ref_459304) # OR operation
ref_484560 = ref_459310 # MOV operation
ref_484574 = ((ref_484560 << (0x9 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_686604 = ref_278 # MOV operation
ref_737102 = ref_686604 # MOV operation
ref_737108 = (0x1D2C27F0 | ref_737102) # OR operation
ref_787631 = ref_737108 # MOV operation
ref_787639 = (ref_787631 >> (0x37 & 0x3F)) # SHR operation
ref_787646 = ref_787639 # MOV operation
ref_812899 = ref_484574 # MOV operation
ref_812903 = ref_787646 # MOV operation
ref_812905 = (ref_812903 | ref_812899) # OR operation
ref_838163 = ref_812905 # MOV operation
ref_1217053 = ref_278 # MOV operation
ref_1444408 = ref_838163 # MOV operation
ref_1469633 = ref_1444408 # MOV operation
ref_1469647 = ((ref_1469633 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_1671762 = ref_838163 # MOV operation
ref_1722260 = ref_1671762 # MOV operation
ref_1722268 = (ref_1722260 >> (0x33 & 0x3F)) # SHR operation
ref_1722275 = ref_1722268 # MOV operation
ref_1747528 = ref_1469647 # MOV operation
ref_1747532 = ref_1722275 # MOV operation
ref_1747534 = (ref_1747532 | ref_1747528) # OR operation
ref_1772792 = ref_1217053 # MOV operation
ref_1772796 = ref_1747534 # MOV operation
ref_1772798 = (ref_1772796 | ref_1772792) # OR operation
ref_1798056 = ref_1772798 # MOV operation
ref_2202211 = ref_278 # MOV operation
ref_2227436 = ref_2202211 # MOV operation
ref_2227450 = ((0x6402BE2 + ref_2227436) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_2252709 = ref_2227450 # MOV operation
ref_2631599 = ref_278 # MOV operation
ref_2682097 = ref_2631599 # MOV operation
ref_2682103 = (0x3544223F | ref_2682097) # OR operation
ref_2909483 = ref_2252709 # MOV operation
ref_3111573 = ref_1798056 # MOV operation
ref_3136806 = ref_2909483 # MOV operation
ref_3136810 = ref_3111573 # MOV operation
ref_3136812 = (((sx(0x40, ref_3136810) * sx(0x40, ref_3136806)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_3162071 = ref_3136812 # MOV operation
ref_3162073 = (((sx(0x40, ref_3162071) * sx(0x40, 0x3BE31211)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_3187328 = ref_2682103 # MOV operation
ref_3187332 = ref_3162073 # MOV operation
ref_3187334 = (((sx(0x40, ref_3187332) * sx(0x40, ref_3187328)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_3212589 = ref_3187334 # MOV operation
ref_3591564 = ref_2252709 # MOV operation
ref_3844184 = ref_3212589 # MOV operation
ref_3869409 = ref_3844184 # MOV operation
ref_3869423 = (0x1F & ref_3869409) # AND operation
ref_3894673 = ref_3869423 # MOV operation
ref_3894687 = ((ref_3894673 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_3919945 = ref_3591564 # MOV operation
ref_3919949 = ref_3894687 # MOV operation
ref_3919951 = (ref_3919949 | ref_3919945) # OR operation
ref_3945209 = ref_3919951 # MOV operation
ref_4197817 = ref_1798056 # MOV operation
ref_4248315 = ref_4197817 # MOV operation
ref_4248323 = (ref_4248315 >> (0x1 & 0x3F)) # SHR operation
ref_4248330 = ref_4248323 # MOV operation
ref_4273575 = ref_4248330 # MOV operation
ref_4273589 = (0xF & ref_4273575) # AND operation
ref_4324112 = ref_4273589 # MOV operation
ref_4324118 = (0x1 | ref_4324112) # OR operation
ref_4526233 = ref_838163 # MOV operation
ref_4551458 = ref_4526233 # MOV operation
ref_4551470 = ref_4324118 # MOV operation
ref_4551472 = ((ref_4551458 << ((ref_4551470 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_4753587 = ref_838163 # MOV operation
ref_4980942 = ref_1798056 # MOV operation
ref_5031440 = ref_4980942 # MOV operation
ref_5031448 = (ref_5031440 >> (0x1 & 0x3F)) # SHR operation
ref_5031455 = ref_5031448 # MOV operation
ref_5056700 = ref_5031455 # MOV operation
ref_5056714 = (0xF & ref_5056700) # AND operation
ref_5107237 = ref_5056714 # MOV operation
ref_5107243 = (0x1 | ref_5107237) # OR operation
ref_5157770 = ref_5107243 # MOV operation
ref_5157772 = ((0x40 - ref_5157770) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_5157780 = ref_5157772 # MOV operation
ref_5183033 = ref_4753587 # MOV operation
ref_5183037 = ref_5157780 # MOV operation
ref_5183039 = (ref_5183037 & 0xFFFFFFFF) # MOV operation
ref_5183041 = (ref_5183033 >> ((ref_5183039 & 0xFF) & 0x3F)) # SHR operation
ref_5183048 = ref_5183041 # MOV operation
ref_5208301 = ref_4551472 # MOV operation
ref_5208305 = ref_5183048 # MOV operation
ref_5208307 = (ref_5208305 | ref_5208301) # OR operation
ref_5410422 = ref_3945209 # MOV operation
ref_5637777 = ref_3212589 # MOV operation
ref_5688275 = ref_5637777 # MOV operation
ref_5688283 = (ref_5688275 >> (0x3 & 0x3F)) # SHR operation
ref_5688290 = ref_5688283 # MOV operation
ref_5713535 = ref_5688290 # MOV operation
ref_5713549 = (0x7 & ref_5713535) # AND operation
ref_5764072 = ref_5713549 # MOV operation
ref_5764078 = (0x1 | ref_5764072) # OR operation
ref_5789336 = ref_5410422 # MOV operation
ref_5789340 = ref_5764078 # MOV operation
ref_5789342 = (ref_5789340 & 0xFFFFFFFF) # MOV operation
ref_5789344 = (ref_5789336 >> ((ref_5789342 & 0xFF) & 0x3F)) # SHR operation
ref_5789351 = ref_5789344 # MOV operation
ref_5814604 = ref_5208307 # MOV operation
ref_5814608 = ref_5789351 # MOV operation
ref_5814610 = ((ref_5814604 - ref_5814608) & 0xFFFFFFFFFFFFFFFF) # CMP operation
ref_5814612 = ((((ref_5814604 ^ (ref_5814608 ^ ref_5814610)) ^ ((ref_5814604 ^ ref_5814610) & (ref_5814604 ^ ref_5814608))) >> 63) & 0x1) # Carry flag
ref_5814616 = (0x1 if (ref_5814610 == 0x0) else 0x0) # Zero flag
ref_5814618 = ((((ref_5814608 >> 8) & 0xFFFFFFFFFFFFFF)) << 8 | (0x1 if ((ref_5814612 | ref_5814616) == 0x1) else 0x0)) # SETBE operation
ref_5814620 = (ref_5814618 & 0xFF) # MOVZX operation
ref_5839857 = (ref_5814620 & 0xFFFFFFFF) # MOV operation
ref_5839859 = ((ref_5839857 & 0xFFFFFFFF) & (ref_5839857 & 0xFFFFFFFF)) # TEST operation
ref_5839864 = (0x1 if (ref_5839859 == 0x0) else 0x0) # Zero flag
ref_5839866 = (0x186C if (ref_5839864 == 0x1) else 0x184E) # Program Counter


if (ref_5839864 == 0x1):
    ref_263 = SymVar_0
    ref_278 = ref_263 # MOV operation
    ref_408806 = ref_278 # MOV operation
    ref_459304 = ref_408806 # MOV operation
    ref_459310 = (0x1D2C27F0 | ref_459304) # OR operation
    ref_484560 = ref_459310 # MOV operation
    ref_484574 = ((ref_484560 << (0x9 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_686604 = ref_278 # MOV operation
    ref_737102 = ref_686604 # MOV operation
    ref_737108 = (0x1D2C27F0 | ref_737102) # OR operation
    ref_787631 = ref_737108 # MOV operation
    ref_787639 = (ref_787631 >> (0x37 & 0x3F)) # SHR operation
    ref_787646 = ref_787639 # MOV operation
    ref_812899 = ref_484574 # MOV operation
    ref_812903 = ref_787646 # MOV operation
    ref_812905 = (ref_812903 | ref_812899) # OR operation
    ref_838163 = ref_812905 # MOV operation
    ref_1217053 = ref_278 # MOV operation
    ref_1444408 = ref_838163 # MOV operation
    ref_1469633 = ref_1444408 # MOV operation
    ref_1469647 = ((ref_1469633 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_1671762 = ref_838163 # MOV operation
    ref_1722260 = ref_1671762 # MOV operation
    ref_1722268 = (ref_1722260 >> (0x33 & 0x3F)) # SHR operation
    ref_1722275 = ref_1722268 # MOV operation
    ref_1747528 = ref_1469647 # MOV operation
    ref_1747532 = ref_1722275 # MOV operation
    ref_1747534 = (ref_1747532 | ref_1747528) # OR operation
    ref_1772792 = ref_1217053 # MOV operation
    ref_1772796 = ref_1747534 # MOV operation
    ref_1772798 = (ref_1772796 | ref_1772792) # OR operation
    ref_1798056 = ref_1772798 # MOV operation
    ref_2202211 = ref_278 # MOV operation
    ref_2227436 = ref_2202211 # MOV operation
    ref_2227450 = ((0x6402BE2 + ref_2227436) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_2252709 = ref_2227450 # MOV operation
    ref_2631599 = ref_278 # MOV operation
    ref_2682097 = ref_2631599 # MOV operation
    ref_2682103 = (0x3544223F | ref_2682097) # OR operation
    ref_2909483 = ref_2252709 # MOV operation
    ref_3111573 = ref_1798056 # MOV operation
    ref_3136806 = ref_2909483 # MOV operation
    ref_3136810 = ref_3111573 # MOV operation
    ref_3136812 = (((sx(0x40, ref_3136810) * sx(0x40, ref_3136806)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_3162071 = ref_3136812 # MOV operation
    ref_3162073 = (((sx(0x40, ref_3162071) * sx(0x40, 0x3BE31211)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_3187328 = ref_2682103 # MOV operation
    ref_3187332 = ref_3162073 # MOV operation
    ref_3187334 = (((sx(0x40, ref_3187332) * sx(0x40, ref_3187328)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_3212589 = ref_3187334 # MOV operation
    ref_3591564 = ref_2252709 # MOV operation
    ref_3844184 = ref_3212589 # MOV operation
    ref_3869409 = ref_3844184 # MOV operation
    ref_3869423 = (0x1F & ref_3869409) # AND operation
    ref_3894673 = ref_3869423 # MOV operation
    ref_3894687 = ((ref_3894673 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_3919945 = ref_3591564 # MOV operation
    ref_3919949 = ref_3894687 # MOV operation
    ref_3919951 = (ref_3919949 | ref_3919945) # OR operation
    ref_3945209 = ref_3919951 # MOV operation
    ref_6244083 = ref_1798056 # MOV operation
    ref_6496703 = ref_1798056 # MOV operation
    ref_6521928 = ref_6496703 # MOV operation
    ref_6521942 = (0xF & ref_6521928) # AND operation
    ref_6547192 = ref_6521942 # MOV operation
    ref_6547206 = ((ref_6547192 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_6572464 = ref_6244083 # MOV operation
    ref_6572468 = ref_6547206 # MOV operation
    ref_6572470 = (ref_6572468 | ref_6572464) # OR operation
    ref_6597728 = ref_6572470 # MOV operation
    ref_7027125 = ref_6597728 # MOV operation
    ref_7077623 = ref_7027125 # MOV operation
    ref_7077631 = (ref_7077623 >> (0x3 & 0x3F)) # SHR operation
    ref_7077638 = ref_7077631 # MOV operation
    ref_7102883 = ref_7077638 # MOV operation
    ref_7102897 = (0xF & ref_7102883) # AND operation
    ref_7153420 = ref_7102897 # MOV operation
    ref_7153426 = (0x1 | ref_7153420) # OR operation
    ref_7355541 = ref_838163 # MOV operation
    ref_7380766 = ref_7355541 # MOV operation
    ref_7380778 = ref_7153426 # MOV operation
    ref_7380780 = ((ref_7380766 << ((ref_7380778 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_7582895 = ref_838163 # MOV operation
    ref_7810250 = ref_6597728 # MOV operation
    ref_7860748 = ref_7810250 # MOV operation
    ref_7860756 = (ref_7860748 >> (0x3 & 0x3F)) # SHR operation
    ref_7860763 = ref_7860756 # MOV operation
    ref_7886008 = ref_7860763 # MOV operation
    ref_7886022 = (0xF & ref_7886008) # AND operation
    ref_7936545 = ref_7886022 # MOV operation
    ref_7936551 = (0x1 | ref_7936545) # OR operation
    ref_7987078 = ref_7936551 # MOV operation
    ref_7987080 = ((0x40 - ref_7987078) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_7987088 = ref_7987080 # MOV operation
    ref_8012341 = ref_7582895 # MOV operation
    ref_8012345 = ref_7987088 # MOV operation
    ref_8012347 = (ref_8012345 & 0xFFFFFFFF) # MOV operation
    ref_8012349 = (ref_8012341 >> ((ref_8012347 & 0xFF) & 0x3F)) # SHR operation
    ref_8012356 = ref_8012349 # MOV operation
    ref_8037609 = ref_7380780 # MOV operation
    ref_8037613 = ref_8012356 # MOV operation
    ref_8037615 = (ref_8037613 | ref_8037609) # OR operation
    ref_8239730 = ref_3945209 # MOV operation
    ref_8467085 = ref_3212589 # MOV operation
    ref_8492310 = ref_8467085 # MOV operation
    ref_8492324 = ((0x369A4780 + ref_8492310) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_8517583 = ref_8239730 # MOV operation
    ref_8517587 = ref_8492324 # MOV operation
    ref_8517589 = (((sx(0x40, ref_8517587) * sx(0x40, ref_8517583)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_8542844 = ref_8037615 # MOV operation
    ref_8542848 = ref_8517589 # MOV operation
    ref_8542850 = (((sx(0x40, ref_8542848) * sx(0x40, ref_8542844)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_8568105 = ref_8542850 # MOV operation
    ref_8618614 = ref_8568105 # MOV operation
    ref_8618616 = ref_8618614 # MOV operation
    endb = ref_8618616


else:
    ref_8618936 = SymVar_0
    ref_8618951 = ref_8618936 # MOV operation
    ref_9027484 = ref_8618951 # MOV operation
    ref_9077982 = ref_9027484 # MOV operation
    ref_9077988 = (0x1D2C27F0 | ref_9077982) # OR operation
    ref_9103238 = ref_9077988 # MOV operation
    ref_9103252 = ((ref_9103238 << (0x9 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_9305282 = ref_8618951 # MOV operation
    ref_9355780 = ref_9305282 # MOV operation
    ref_9355786 = (0x1D2C27F0 | ref_9355780) # OR operation
    ref_9406309 = ref_9355786 # MOV operation
    ref_9406317 = (ref_9406309 >> (0x37 & 0x3F)) # SHR operation
    ref_9406324 = ref_9406317 # MOV operation
    ref_9431577 = ref_9103252 # MOV operation
    ref_9431581 = ref_9406324 # MOV operation
    ref_9431583 = (ref_9431581 | ref_9431577) # OR operation
    ref_9456841 = ref_9431583 # MOV operation
    ref_9835731 = ref_8618951 # MOV operation
    ref_10063086 = ref_9456841 # MOV operation
    ref_10088311 = ref_10063086 # MOV operation
    ref_10088325 = ((ref_10088311 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_10290440 = ref_9456841 # MOV operation
    ref_10340938 = ref_10290440 # MOV operation
    ref_10340946 = (ref_10340938 >> (0x33 & 0x3F)) # SHR operation
    ref_10340953 = ref_10340946 # MOV operation
    ref_10366206 = ref_10088325 # MOV operation
    ref_10366210 = ref_10340953 # MOV operation
    ref_10366212 = (ref_10366210 | ref_10366206) # OR operation
    ref_10391470 = ref_9835731 # MOV operation
    ref_10391474 = ref_10366212 # MOV operation
    ref_10391476 = (ref_10391474 | ref_10391470) # OR operation
    ref_10416734 = ref_10391476 # MOV operation
    ref_10416736 = ((ref_10416734 >> 56) & 0xFF) # Byte reference - MOV operation
    ref_10416737 = ((ref_10416734 >> 48) & 0xFF) # Byte reference - MOV operation
    ref_10416738 = ((ref_10416734 >> 40) & 0xFF) # Byte reference - MOV operation
    ref_10416739 = ((ref_10416734 >> 32) & 0xFF) # Byte reference - MOV operation
    ref_10416740 = ((ref_10416734 >> 24) & 0xFF) # Byte reference - MOV operation
    ref_10416741 = ((ref_10416734 >> 16) & 0xFF) # Byte reference - MOV operation
    ref_10416742 = ((ref_10416734 >> 8) & 0xFF) # Byte reference - MOV operation
    ref_10416743 = (ref_10416734 & 0xFF) # Byte reference - MOV operation
    ref_10820889 = ref_8618951 # MOV operation
    ref_10846114 = ref_10820889 # MOV operation
    ref_10846128 = ((0x6402BE2 + ref_10846114) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_10871387 = ref_10846128 # MOV operation
    ref_11250277 = ref_8618951 # MOV operation
    ref_11300775 = ref_11250277 # MOV operation
    ref_11300781 = (0x3544223F | ref_11300775) # OR operation
    ref_11528161 = ref_10871387 # MOV operation
    ref_11730251 = ref_10416734 # MOV operation
    ref_11755484 = ref_11528161 # MOV operation
    ref_11755488 = ref_11730251 # MOV operation
    ref_11755490 = (((sx(0x40, ref_11755488) * sx(0x40, ref_11755484)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_11780749 = ref_11755490 # MOV operation
    ref_11780751 = (((sx(0x40, ref_11780749) * sx(0x40, 0x3BE31211)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_11806006 = ref_11300781 # MOV operation
    ref_11806010 = ref_11780751 # MOV operation
    ref_11806012 = (((sx(0x40, ref_11806010) * sx(0x40, ref_11806006)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_11831267 = ref_11806012 # MOV operation
    ref_12210242 = ref_10871387 # MOV operation
    ref_12462862 = ref_11831267 # MOV operation
    ref_12488087 = ref_12462862 # MOV operation
    ref_12488101 = (0x1F & ref_12488087) # AND operation
    ref_12513351 = ref_12488101 # MOV operation
    ref_12513365 = ((ref_12513351 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_12538623 = ref_12210242 # MOV operation
    ref_12538627 = ref_12513365 # MOV operation
    ref_12538629 = (ref_12538627 | ref_12538623) # OR operation
    ref_12563887 = ref_12538629 # MOV operation
    ref_14862800 = ref_11831267 # MOV operation
    ref_14888025 = ref_14862800 # MOV operation
    ref_14888041 = ((((0x0) << 64 | ref_14888025) / 0x8) & 0xFFFFFFFFFFFFFFFF) # DIV operation
    ref_14913295 = ref_14888041 # MOV operation
    ref_14913297 = ((ref_14913295 >> 56) & 0xFF) # Byte reference - MOV operation
    ref_14913298 = ((ref_14913295 >> 48) & 0xFF) # Byte reference - MOV operation
    ref_14913299 = ((ref_14913295 >> 40) & 0xFF) # Byte reference - MOV operation
    ref_14913300 = ((ref_14913295 >> 32) & 0xFF) # Byte reference - MOV operation
    ref_14913301 = ((ref_14913295 >> 24) & 0xFF) # Byte reference - MOV operation
    ref_14913302 = ((ref_14913295 >> 16) & 0xFF) # Byte reference - MOV operation
    ref_14913303 = ((ref_14913295 >> 8) & 0xFF) # Byte reference - MOV operation
    ref_14913304 = (ref_14913295 & 0xFF) # Byte reference - MOV operation
    ref_15266905 = ref_10416741 # MOVZX operation
    ref_15317407 = (ref_15266905 & 0xFF) # MOVZX operation
    ref_15671009 = ref_10416738 # MOVZX operation
    ref_16024599 = (ref_15671009 & 0xFF) # MOVZX operation
    ref_16024601 = (ref_16024599 & 0xFF) # Byte reference - MOV operation
    ref_16075113 = (ref_15317407 & 0xFF) # MOVZX operation
    ref_16428703 = (ref_16075113 & 0xFF) # MOVZX operation
    ref_16428705 = (ref_16428703 & 0xFF) # Byte reference - MOV operation
    ref_16782305 = ref_10416736 # MOVZX operation
    ref_16832807 = (ref_16782305 & 0xFF) # MOVZX operation
    ref_17186409 = ref_10416743 # MOVZX operation
    ref_17539999 = (ref_17186409 & 0xFF) # MOVZX operation
    ref_17540001 = (ref_17539999 & 0xFF) # Byte reference - MOV operation
    ref_17590513 = (ref_16832807 & 0xFF) # MOVZX operation
    ref_17944103 = (ref_17590513 & 0xFF) # MOVZX operation
    ref_17944105 = (ref_17944103 & 0xFF) # Byte reference - MOV operation
    ref_18297705 = ref_14913300 # MOVZX operation
    ref_18348207 = (ref_18297705 & 0xFF) # MOVZX operation
    ref_18701809 = ref_14913304 # MOVZX operation
    ref_19055399 = (ref_18701809 & 0xFF) # MOVZX operation
    ref_19055401 = (ref_19055399 & 0xFF) # Byte reference - MOV operation
    ref_19105913 = (ref_18348207 & 0xFF) # MOVZX operation
    ref_19459503 = (ref_19105913 & 0xFF) # MOVZX operation
    ref_19459505 = (ref_19459503 & 0xFF) # Byte reference - MOV operation
    ref_19888892 = ((((((((ref_17540001) << 8 | ref_10416737) << 8 | ref_16428705) << 8 | ref_10416739) << 8 | ref_10416740) << 8 | ref_16024601) << 8 | ref_10416742) << 8 | ref_17944105) # MOV operation
    ref_19939390 = ref_19888892 # MOV operation
    ref_19939398 = (ref_19939390 >> (0x3 & 0x3F)) # SHR operation
    ref_19939405 = ref_19939398 # MOV operation
    ref_19964650 = ref_19939405 # MOV operation
    ref_19964664 = (0xF & ref_19964650) # AND operation
    ref_20015187 = ref_19964664 # MOV operation
    ref_20015193 = (0x1 | ref_20015187) # OR operation
    ref_20217308 = ((((((((ref_14913297) << 8 | ref_14913298) << 8 | ref_14913299) << 8 | ref_19055401) << 8 | ref_14913301) << 8 | ref_14913302) << 8 | ref_14913303) << 8 | ref_19459505) # MOV operation
    ref_20242533 = ref_20217308 # MOV operation
    ref_20242545 = ref_20015193 # MOV operation
    ref_20242547 = ((ref_20242533 << ((ref_20242545 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_20444662 = ((((((((ref_14913297) << 8 | ref_14913298) << 8 | ref_14913299) << 8 | ref_19055401) << 8 | ref_14913301) << 8 | ref_14913302) << 8 | ref_14913303) << 8 | ref_19459505) # MOV operation
    ref_20672017 = ((((((((ref_17540001) << 8 | ref_10416737) << 8 | ref_16428705) << 8 | ref_10416739) << 8 | ref_10416740) << 8 | ref_16024601) << 8 | ref_10416742) << 8 | ref_17944105) # MOV operation
    ref_20722515 = ref_20672017 # MOV operation
    ref_20722523 = (ref_20722515 >> (0x3 & 0x3F)) # SHR operation
    ref_20722530 = ref_20722523 # MOV operation
    ref_20747775 = ref_20722530 # MOV operation
    ref_20747789 = (0xF & ref_20747775) # AND operation
    ref_20798312 = ref_20747789 # MOV operation
    ref_20798318 = (0x1 | ref_20798312) # OR operation
    ref_20848845 = ref_20798318 # MOV operation
    ref_20848847 = ((0x40 - ref_20848845) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_20848855 = ref_20848847 # MOV operation
    ref_20874108 = ref_20444662 # MOV operation
    ref_20874112 = ref_20848855 # MOV operation
    ref_20874114 = (ref_20874112 & 0xFFFFFFFF) # MOV operation
    ref_20874116 = (ref_20874108 >> ((ref_20874114 & 0xFF) & 0x3F)) # SHR operation
    ref_20874123 = ref_20874116 # MOV operation
    ref_20899376 = ref_20242547 # MOV operation
    ref_20899380 = ref_20874123 # MOV operation
    ref_20899382 = (ref_20899380 | ref_20899376) # OR operation
    ref_21101497 = ref_12563887 # MOV operation
    ref_21328852 = ref_11831267 # MOV operation
    ref_21354077 = ref_21328852 # MOV operation
    ref_21354091 = ((0x369A4780 + ref_21354077) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_21379350 = ref_21101497 # MOV operation
    ref_21379354 = ref_21354091 # MOV operation
    ref_21379356 = (((sx(0x40, ref_21379354) * sx(0x40, ref_21379350)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_21404611 = ref_20899382 # MOV operation
    ref_21404615 = ref_21379356 # MOV operation
    ref_21404617 = (((sx(0x40, ref_21404615) * sx(0x40, ref_21404611)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_21429872 = ref_21404617 # MOV operation
    ref_21480381 = ref_21429872 # MOV operation
    ref_21480383 = ref_21480381 # MOV operation
    endb = ref_21480383


print endb & 0xffffffffffffffff
